home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / MorphOS / Poseidon / Poseidon-Install < prev    next >
Text File  |  2002-10-27  |  25KB  |  706 lines

  1. ;--------------------------------------------------------------------------
  2. ; $VER: Poseidon Install V1.5 (05-Oct-02).
  3. ;
  4. ; Copyright ©2002 Chris Hodges. All rights reserved.
  5. ;--------------------------------------------------------------------------
  6.  
  7. (delopts "force" "askuser" "nofail")
  8.  
  9. ;--------------------------------------------------------------------------
  10. ; Flexible installer script! So get our installation environment.
  11. ;--------------------------------------------------------------------------
  12.  
  13. (set #home @execute-dir)
  14. (set #instdatadir "InstallData/")
  15. (set #bonus 0)
  16.  
  17. ;--------------------------------------------------------------------------
  18. ; English Installer Strings
  19. ;--------------------------------------------------------------------------
  20.  
  21. (if (= @language "english")
  22.     (
  23.         (set #lang 1)
  24.         (set #suffix "_E")
  25.         (set #licence "Licence.txt")
  26.         (set #ioerror "An error occured during the installation, please report it to me.\n\nThanks.")
  27.  
  28.         (set #updateinstaller
  29.             (cat "\n"
  30.                 "Just to let you know ESCOM AG has released a new version of the installer program."
  31.                 "\n\nVersion 43.3 can be found on Aminet in:\n\n/util/misc/Installer-43_3.lha\n\n"
  32.                 "You might want to upgrade soon, if you can, especially if you encounter problems "
  33.                 "during this installation."
  34.             )
  35.         )
  36.  
  37.         (set #intro
  38.             (cat
  39.                 ("Welcome to the installation program for the\nPoseidon USB Stack V%d.%d\n"
  40.                 (getversion (cat #instdatadir "libs/poseidon.library")))
  41.                 "by Chris Hodges <hodges@in.tum.de>"
  42.                 "\n\nPlease read the Licence before proceeding.\n"
  43.                 "Continuing on the Installation means you have read and accepted the Licence conditions!\n\n"
  44.             )
  45.         )
  46.  
  47.         (set #extro
  48.             (cat
  49.                 "All Poseidon files installed. Enjoy!\n\n"
  50.                 (if #bonus
  51.                     (
  52.                         "There is some bonus material in the \"Extra\" drawer, such as fat95 by "
  53.                         "Torsten Jager, MasonIcons by Martin Merz, and the original "
  54.                         "LoadModule archive by Torbjörn Andersson. All archives are included with "
  55.                         "permission. "
  56.                         "NOTE: The bonus material is included 'as-is' and neither I nor the authors "
  57.                         "of these products give warrenties of any kind.\n\n"
  58.                     )
  59.                 )
  60.                 "The first thing is to read the manual (in the HELP: directory). After "
  61.                 "that, load up Trident that can be found in your Prefs drawer."
  62.             )
  63.         )
  64.  
  65.  
  66.         (set #copymainlib "Copying main Poseidon library file...\n")
  67.  
  68.         (set #copymainlib_help "\nThis is the main Poseidon stack library. Without it, nothing will work.")
  69.  
  70.         (set #copyhwdrivers "Select the USB hardware drivers you want to install:\n")
  71.  
  72.         (set #copyhwdrivers_help
  73.             (cat "\n"
  74.                 "These are the hardware-dependent USB controller drivers available. Select your "
  75.                 "USB hardware controller. Poseidon will not work without the correct hardware "
  76.                 "controller driver."
  77.             )
  78.         )
  79.  
  80.         (set #copyclasses "Select the USB class drivers you want to install:\n")
  81.  
  82.         (set #copyclasses_help
  83.             (cat "\n"
  84.                 "Class drivers are the software that automatically enables the features of "
  85.                 "the devices you plug onto the USB. If you don't know, which device will need "
  86.                 "which class driver, just copy them all, there's no harm done. "
  87.             )
  88.         )
  89.  
  90.         (set #copydocs "Copying manual...\n")
  91.  
  92.         (set #copydocs_help
  93.             (cat "\n"
  94.                 "As there is no actual installation directory, the docs will be "
  95.                 "installed in your HELP: directory."
  96.             )
  97.         )
  98.  
  99.         (set #copygui "Copying Trident (GUI)...\n")
  100.  
  101.         (set #copygui_help
  102.             (cat "\n"
  103.                 "Trident is a graphical user interface to configure your USB setup. "
  104.                 "A good place to store this program is your Prefs folder. Trident "
  105.                 "requires MUI."
  106.             )
  107.         )
  108.  
  109.         (set #copytools "Copying Tools...\n")
  110.  
  111.         (set #copytools_help
  112.             (cat "\n"
  113.                 "There are several shell tools that will be installed in your C: "
  114.                 "directory. Except for PsdLoadModule, none of these are manadatory. "
  115.                 "Have a look in the manual about their usage.\n\n"
  116.                 "PsdLoadModule is written by Torbjörn Andersson and included with "
  117.                 "friendly permission."
  118.             )
  119.         )
  120.  
  121.         (set #copyromtag "Copying RomTag Installer...\n")
  122.  
  123.         (set #copyromtag_help
  124.             (cat "\n"
  125.                 "Poseidon can be installed reset-proof, so that is already available "
  126.                 "in the boot menu. This is a small shell script that will both install "
  127.                 "or uninstall Poseidon residently."
  128.             )
  129.         )
  130.  
  131.         (set #copystackloader "Copying initial config...\n")
  132.  
  133.         (set #copystackloader_help
  134.             (cat "\n"
  135.                 "The stack config is saved in an executable file that can be run to "
  136.                 "load up the stack itself. This config file is normally stored in "
  137.                 "the ENVARC: directory."
  138.             )
  139.         )
  140.  
  141.         (set #copydosdriver "Copying example DOSDriver...\n")
  142.  
  143.         (set #copydosdriver_help
  144.             (cat "\n"
  145.                 "This is an example DosDriver mountlist to use with the mass "
  146.                 "storage class for media containing FAT filesystems."
  147.             )
  148.         )
  149.  
  150.         (set #copyvhi "Copying Webcam driver for VHI Studio...\n")
  151.  
  152.         (set #copyvhi_help
  153.             (cat "\n"
  154.                 "A driver for PenCam cameras for VHI Studio is included in this "
  155.                 "package and will be installed in LIBS:VHI/"
  156.             )
  157.         )
  158.  
  159.         (set #askstartonboot "Do you want Poseidon to be started automatically on bootup?\n")
  160.  
  161.         (set #askstartonboot_help
  162.             (cat "\n"
  163.                 "This will just add a line to your user-startup, that will run the "
  164.                 "PsdStackloader program that must be in ENVARC: for this purpose. "
  165.                 "This is not mandatory. You can also decide to startup the stack "
  166.                 "by manually using the Trident GUI."
  167.             )
  168.         )
  169.  
  170.         (set #createconfig
  171.             (cat "\n"
  172.                  "Do you want to initially start the USB stack and create a default "
  173.                  "configuration? Otherwise an empty configuration file is copied."
  174.             )
  175.         )
  176.  
  177.         (set #createconfig_help
  178.             (cat "\n"
  179.                  "Poseidon requires only two things to initially start off. The "
  180.                  "first thing is the to be used hardware driver, the second the "
  181.                  "class drivers to add to the system. You now have the option "
  182.                  "to boot up the stack with the drivers in DEVS:USBHardware "
  183.                  "and the classes in SYS:Classes/USB. However, if something "
  184.                  "goes wrong, the installation probably will be aborted.\n\n"
  185.                  "If you don't want to create this easy-startup configuration "
  186.                  "file, an empty default config is copied."
  187.             )
  188.         )
  189.  
  190.         (set #addstartup "Adding the PsdStackloader to your User-Startup-Sequence...\n")
  191.  
  192.         (set #copyinput "Copying new input.device...\n")
  193.  
  194.         (set #addinputload
  195.              (cat "\n"
  196.                 "Adding loading of new input.device to startup-sequence...\n\n"
  197.                 "Please reboot after installation for the new input.device to "
  198.                 "become active."
  199.              )
  200.         )
  201.  
  202.         (set #copyinput_help
  203.             (cat
  204.                 "The old input.device is not capable of handling more than one "
  205.                 "keyboard and mouse. Several hacking and patching would have been "
  206.                 "required to ensure that USB mice and keyboards work 100% compatible.\n\n"
  207.                 "I've decided to go another way. Ralph Schmidt has been so kind and "
  208.                 "provided me with the source code of the input.device for MorphOS. "
  209.                 "I made a 68k version and added the required missing features. "
  210.                 "Without this new input.device you won't be able to use keyrepeat on "
  211.                 "keyboards and some (especially MUI!) programs will have problems "
  212.                 "with USB mice and tablets. The input device has to be installed "
  213.                 "as a RomTag before the first reboot (normally done by SetPatch).\n\n"
  214.                 "A PsdLoadModule instruction will added to your startup-sequence "
  215.                 "as first line."
  216.             )
  217.         )
  218.     )
  219. )
  220.  
  221. ;--------------------------------------------------------------------------
  222. ; German Installer Strings
  223. ;--------------------------------------------------------------------------
  224.  
  225. (if (= @language "deutsch")
  226.     (
  227.         (set #lang 2)
  228.         (set #suffix "_D")
  229.         (set #licence "Lizenz.txt")
  230.         (set #ioerror "Leider ist ein Fehler während der Installation aufgetreten. Bitte diesen an mich melden!\n\nDanke!")
  231.  
  232.         (set #updateinstaller
  233.             (cat "\n"
  234.                 "Ich möchte Sie nur kurz folgendes wissen lassen: Die Escom AG hat eine neue Version "
  235.                 "des Installer-Programms veröffentlicht.\n\nVersion 43.3 kann im Aminet unter "
  236.                 "/util/misc/Installer-43_3.lha gefunden werden.\n\n"
  237.                 "Sofern möglich, sollten Sie sich die neue Version besorgen, besonders wenn Sie auf "
  238.                 "Probleme während der Installation stoßen."
  239.             )
  240.         )
  241.  
  242.         (set #intro
  243.             (cat
  244.                 ("Willkommen zur Installation des\nPoseidon USB Stack V%d.%d\n"
  245.                 (getversion (cat #instdatadir "libs/poseidon.library")))
  246.                 "von Chris Hodges <hodges@in.tum.de>"
  247.                 "\n\nBitte lesen Sie die Lizenzvereinbarungen, bevor Sie weitermachen.\n"
  248.                 "Durch die Fortsetzung der Installation stimmen Sie den Vereinbarungen zu!\n\n"
  249.             )
  250.         )
  251.  
  252.         (set #extro
  253.             (cat
  254.                 "Alle Poseidon Dateien wurden installiert. Viel Spaß!\n\n"
  255.                 (if #bonus
  256.                     (
  257.                         "Es gibt einiges Extramaterial im \"Extra\"-Verzeichnis, wie z.B. "
  258.                         "fat95 von Torsten Jager, MasonIcons von Martin Merz und das "
  259.                         "original LoadModule archiv von Torbjörn Andersson. Die Beigabe dieser Archive "
  260.                         "erfolgt mit Genehmigung. "
  261.                         "ACHTUNG: Das Material wird 'so-wie-es-ist' mitgeliefert und weder die Autoren "
  262.                         "noch ich geben irgendwelche Garantien auf dieses.\n\n"
  263.                     )
  264.                 )
  265.                 "Das erste, was Sie machen sollten, ist die Anleitung zu lesen (im HELP: Verzeichnis). "
  266.                 "Danach können Sie Trident laden, das im Ihrem Voreinsteller-Verzeichnis liegt."
  267.             )
  268.         )
  269.  
  270.         (set #copymainlib "Kopiere die Poseidon Hauptbibliothek...\n")
  271.  
  272.         (set #copymainlib_help "\bDas ist die Hauptbibliothek des Poseidon Stacks. Ohne diese läuft gar nichts!")
  273.  
  274.         (set #copyhwdrivers "Wählen Sie aus, welche USB Hardwaretreiber Sie installieren wollen:\n")
  275.  
  276.         (set #copyhwdrivers_help
  277.             (cat "\n"
  278.                 "Dies sind die hardwareabhängingen Treiber für die verfügbaren USB Controller chips. "
  279.                 "Wählen Sie Ihren Hardwarekontroller. Poseidon funktioniert nicht ohne den richtigen "
  280.                 "Hardwaretreiber."
  281.             )
  282.         )
  283.  
  284.         (set #copyclasses "Wählen Sie die USB Klassentreiber aus, die Sie installieren wollen:\n")
  285.  
  286.         (set #copyclasses_help
  287.             (cat "\n"
  288.                 "Klassentreiber sind der Teil der Software, die automatisch die Funktionen eines "
  289.                 "USB Gerätes verfügbar machen. Wenn Sie nicht wissen, welche Geräte welche Klassentreiber "
  290.                 "benötigen, kopieren Sie einfach alle; es kann nichts schiefgehen."
  291.             )
  292.         )
  293.  
  294.         (set #copydocs "Kopiere Handbuch...\n")
  295.  
  296.         (set #copydocs_help
  297.             (cat "\n"
  298.                 "Nachdem es kein eigentliches Installationsverzeichnis gibt, wird die Anleitung im "
  299.                 "HELP: Verzeichnis installiert."
  300.             )
  301.         )
  302.  
  303.         (set #copygui "Kopiere Trident (GUI)...\n")
  304.  
  305.         (set #copygui_help
  306.             (cat "\n"
  307.                 "Trident ist die graphische Benutzeroberfläche, die es Ihnen erlaubt, Ihr USB System "
  308.                 "zu konfigurieren. Ein guter Platz für dieses Programm ist das Voreinsteller-Verzeichnis "
  309.                 "(SYS:Prefs). Trident benötigt MUI."
  310.             )
  311.         )
  312.  
  313.         (set #copytools "Kopiere weitere Hilfsprogramme...\n")
  314.  
  315.         (set #copytools_help
  316.             (cat "\n"
  317.                 "Es gibt einige Shellprogramme, die in Ihrem C: Verzeichnis installiert werden. "
  318.                 "Mit Ausnahme von PsdLoadModule sind keine dieser Dateien obligatorisch. "
  319.                 "Werfen Sie einen Blick in die Anleitung über ihre Benutzung.\n\n"
  320.                 "PsdLoadModule ist ein Programm von Torbjörn Andersson, das mit freundlicher Genehmigung "
  321.                 "beilegt wurde."
  322.             )
  323.         )
  324.  
  325.         (set #copyromtag "Kopiere RomTag Installationsprogramm...\n")
  326.  
  327.         (set #copyromtag_help
  328.             (cat "\n"
  329.                 "Poseidon kann resetfest eingebunden werden, so dass USB Geräte bereits im Bootmenü "
  330.                 "verfügbar sind. Dieses kleine Shell-Script erlaubt es, Poseidon sowohl resetfest zu "
  331.                 "machen als auch wieder zu entfernen."
  332.             )
  333.         )
  334.  
  335.         (set #copystackloader "Kopiere Ausgangskonfiguration...\n")
  336.  
  337.         (set #copystackloader_help
  338.             (cat "\n"
  339.                 "Die Konfiguration des Stacks wird in einem ausführbaren Programm gespeichert, "
  340.                 "welches benutzt werden kann, um den Stack selbst zu starten. Diese Konfigurationsdatei "
  341.                 "wird normalerweise im ENVARC:-Verzeichnis gespeichert."
  342.             )
  343.         )
  344.  
  345.         (set #copydosdriver "Kopiere Beispiel-DOSDriver...\n")
  346.  
  347.         (set #copydosdriver_help
  348.             (cat "\n"
  349.                 "Es handelt sich hierbei um eine beispielhafte DOSDriver Mountliste, die man zusammen mit "
  350.                 "der Mass Storage Klasse verwenden kann, um FAT formatierte Medien anzumelden."
  351.             )
  352.         )
  353.  
  354.         (set #copyvhi "Kopiere Treiber für Webcams für VHI Studio...\n")
  355.  
  356.         (set #copyvhi_help
  357.             (cat "\n"
  358.                 "Es liegt ein Treiber für Kameras der PenCam Serie bei. "
  359.                 "Dieser wird in LIBS:VHI/ installiert werden."
  360.             )
  361.         )
  362.  
  363.         (set #askstartonboot "Wollen Sie, dass Poseidon automatisch beim Bootvorgang geladen wird?")
  364.  
  365.         (set #askstartonboot_help
  366.             (cat "\n"
  367.                 "Dadurch wird nur eine Zeile zu Ihrer User-Startup-Datei hinzugefügt, die das "
  368.                 "PsdStackloader Programm aufruft, das sich zu diesem Zweck in ENVARC: befinden muss. "
  369.                 "Das ist nicht zwingend. Sie können auch den Stack per Hand starten, indem Sie die "
  370.                 "graphische Benutzeroberfläche Trident starten."
  371.             )
  372.         )
  373.  
  374.         (set #createconfig
  375.             (cat "\n"
  376.                  "Wollen Sie den USB Stack jetzt starten und eine automatische Konfiguration erzeugen? "
  377.                  "Andernfalls wird nur eine leere Konfigurationsdatei kopiert."
  378.             )
  379.         )
  380.  
  381.         (set #createconfig_help
  382.             (cat "\n"
  383.                  "Poseidon benötigt nur zwei Dinge, um loslaufen zu können. Beim ersten handelt es sich "
  384.                  "um den verwendeten Hardwaretreiber, das zweite betrifft die Klassentreiber, die dem "
  385.                  "System hinzugefügt werden sollen. Sie haben nun die Option, den Stack mit den "
  386.                  "Hardwaretreibern in DEVS:USBHardware und den Klassen in SYS:Classes/USB zu "
  387.                  "starten. Falls jedoch irgendetwas schiefläuft, wird die Installation wohl "
  388.                  "abgebrochen werden.\n\nWenn Sie nicht wollen, dass diese Einfach-Loslegen "
  389.                  "Startkonfiguration erzeugt wird, so wird nur eine leere Konfiguration "
  390.                  "kopiert."
  391.             )
  392.         )
  393.  
  394.         (set #addstartup "Füge den PsdStackloader zu Ihrer User-Startup-Sequence hinzu...\n")
  395.  
  396.         (set #copyinput "Kopiere das neue input.device...\n")
  397.  
  398.         (set #addinputload
  399.              (cat "\n"
  400.                 "Ergänze das Laden des neuen Input-Device zur Startup-Sequence...\n\n"
  401.                 "Bitte starten Sie das System nach der Installation neu, um das neue "
  402.                 "input.device zu aktivieren.\n"
  403.              )
  404.         )
  405.  
  406.         (set #copyinput_help
  407.             (cat
  408.                 "Das alte input.device ist unfähig, mehr als eine Tastatur und Maus zu verwalten. "
  409.                 "Mehrere Hacks und Patches wären notwendig gewesen, damit USB Mäuse und Tastaturen "
  410.                 "100% kompatible gewesen wären. Stattdessen habe ich mich für einen anderen Weg "
  411.                 "entschieden. Ralph Schmidt war so freundlich und hat mir den Sourcecode des "
  412.                 "input.device von MorphOS zur Verfügung gestellt. Ich erstellte eine 68K Version "
  413.                 "und ergänzte die fehlenden Features. Ohne dieses neue input.device werden Sie "
  414.                 "keine Tastenwiederholung auf Tastaturen haben und einige Programme (speziell MUI) "
  415.                 "werden mit USB Mäusen und Tabletts ein paar Probleme machen. "
  416.                 "Das input.device muss als RomTag reset-fest eingebunden werden und zwar "
  417.                 "am besten vor SetPatch, damit nur ein Reboot nötig ist.\n\n"
  418.                 "Eine PsdLoadModule Anweisung wird als erste Zeile zu Ihrer Startup-Sequence "
  419.                 "hinzugefügt werden."
  420.             )
  421.         )
  422.     )
  423. )
  424.  
  425. ;--------------------------------------------------------------------------
  426. ; Error cleanup code.
  427. ;--------------------------------------------------------------------------
  428.  
  429. (onerror
  430.     (
  431.         (if (> @ioerr 0)
  432.             (message (cat #ioerror "\n\n ERROR CODE: " @ioerr))
  433.         )
  434.     )
  435. )
  436.  
  437. ;--------------------------------------------------------------------------
  438. ; Check on New installer (code supplied by RobR)
  439. ;--------------------------------------------------------------------------
  440. (set InstallerVer 0)
  441. (set vernum1 @installer-version)
  442. (set ver1 (/ vernum1 65536))
  443. (set rev1 (- vernum1 (* ver1 65536)))
  444. (set InstallerVer (cat ver1 "." rev1))
  445. (set current_installer "43.3")
  446. (if (< InstallerVer current_installer)
  447.     (
  448.         (message #updateinstaller)
  449.     )
  450. )
  451.  
  452. ;--------------------------------------------------------------------------
  453. ; Copy the files.
  454. ;--------------------------------------------------------------------------
  455.  
  456. (run ("Run >NIL: SYS:Utilities/Multiview %s" #licence) (safe))
  457. (message #intro)
  458.  
  459. (complete 0)
  460.  
  461. (set #cleanupinst 0)
  462.  
  463. (if (exists "InstallData.lha")
  464.     (
  465.         (run "Lha x InstallData.lha T:" (safe))
  466.         (set #instdatadir "T:InstallData/")
  467.         (set #cleanupinst 1)
  468.     )
  469. )
  470.  
  471. (copylib
  472.     (prompt #copymainlib)
  473.     (help #copymainlib_help)
  474.     (source (cat #instdatadir "Libs/poseidon.library"))
  475.     (dest "LIBS:")
  476.     (confirm)
  477. )
  478.  
  479. (complete 15)
  480.  
  481. (copyfiles
  482.     (prompt #copyhwdrivers)
  483.     (help #copyhwdrivers_help)
  484.     (source (cat #instdatadir "Devs/USBHardware"))
  485.     (dest "DEVS:USBHardware")
  486.     (confirm)
  487.     (all)
  488. )
  489.  
  490. (complete 30)
  491.  
  492. (copyfiles
  493.     (prompt #copyclasses)
  494.     (help #copyclasses_help)
  495.     (source (cat #instdatadir "Classes/USB"))
  496.     (dest "SYS:Classes/USB")
  497.     (confirm)
  498.     (all)
  499. )
  500.  
  501. (complete 40)
  502.  
  503. (copyfiles
  504.     (prompt #copydocs)
  505.     (help #copydocs_help)
  506.     (source (cat #instdatadir "Docs/Poseidon" #suffix ".guide"))
  507.     (dest "HELP:")
  508.     (infos)
  509.     (newname "Poseidon.guide")
  510.     (noposition)
  511.     (confirm)
  512. )
  513.  
  514. (complete 50)
  515.  
  516. (copyfiles
  517.     (prompt #copygui)
  518.     (help #copygui_help)
  519.     (source (cat #instdatadir "Trident"))
  520.     (dest "SYS:Prefs")
  521.     (infos)
  522.     (noposition)
  523.     (confirm)
  524. )
  525.  
  526. (complete 60)
  527.  
  528. (copyfiles
  529.     (prompt #copyromtag)
  530.     (help #copyromtag_help)
  531.     (source (cat #instdatadir "PsdRomTag"))
  532.     (dest "SYS:Utilities")
  533.     (infos)
  534.     (noposition)
  535.     (confirm)
  536. )
  537.  
  538. (complete 70)
  539.  
  540. (copyfiles
  541.     (prompt #copytools)
  542.     (help #copytools_help)
  543.     (source (cat #instdatadir "Tools"))
  544.     (dest "C:")
  545.     (confirm)
  546.     (all)
  547. )
  548.  
  549. (complete 75)
  550.  
  551. (if (exists "SYS:Storage/DOSDrivers/UMSD/UMSD")
  552.     (
  553.         (rename "SYS:Storage/DOSDrivers/UMSD" "SYS:Storage/DOSDrivers/UMSDtmp" (safe))
  554.         (delete "SYS:Storage/DOSDrivers/UMSD.info" (safe))
  555.         (run "C:Rename SYS:Storage/DOSDrivers/UMSDtmp/#? SYS:Storage/DOSDrivers" (safe))
  556.         (delete "SYS:Storage/DOSDrivers/UMSDtmp" (safe))
  557.     )
  558. )
  559.  
  560. (if (not (exists "SYS:Storage/DOSDrivers/UMSD"))
  561.     (
  562.         (copyfiles
  563.             (prompt #copydosdriver)
  564.             (help #copydosdriver_help)
  565.             (source (cat #instdatadir "Storage/DOSDrivers/UMSD"))
  566.             (dest "SYS:Storage/DOSDrivers")
  567.             (infos)
  568.             (confirm)
  569.         )
  570.     )
  571. )
  572.  
  573. (if (not (exists "SYS:Storage/DOSDrivers/UMSD.info"))
  574.     (
  575.         (copyfiles
  576.             (source (cat #instdatadir "Storage/DOSDrivers/UMSD.info"))
  577.             (dest "SYS:Storage/DOSDrivers")
  578.         )
  579.     )
  580. )
  581.  
  582. (complete 85)
  583.  
  584. (copyfiles
  585.     (prompt #copyvhi)
  586.     (help #copyvhi_help)
  587.     (source (cat #instdatadir "Libs/VHI"))
  588.     (dest "LIBS:VHI")
  589.     (confirm)
  590.     (all)
  591. )
  592.  
  593. (complete 90)
  594.  
  595. (if (not (exists "ENVARC:PsdStackloader"))
  596.     (
  597.         (if
  598.             (askbool
  599.                 (prompt #createconfig)
  600.                 (help #createconfig_help)
  601.                 (default 0)
  602.             )
  603.             (
  604.                 (run
  605.                     (cat
  606.                         "List >T:AddHW FILES DEVS:USBHardware/#?.device LFORMAT \""
  607.                         #instdatadir
  608.                         "Tools/AddUSBHardware %p%n\""
  609.                     )
  610.                 )
  611.  
  612.                 (run "Execute T:AddHW")
  613.                 (delete "T:AddHW")
  614.                 (run (cat #instdatadir "Tools/AddUSBClasses"))
  615.                 (run (cat #instdatadir "Trident NOGUI SAVE"))
  616.             )
  617.             (
  618.                 (copyfiles
  619.                     (prompt #copystackloader)
  620.                     (help #copystackloader_help)
  621.                     (source (cat #instdatadir "PsdStackloader"))
  622.                     (dest "ENVARC:")
  623.                 )
  624.             )
  625.         )
  626.     )
  627. )
  628.  
  629. (complete 90)
  630.  
  631. (if
  632.     (askbool
  633.         (prompt #askstartonboot)
  634.         (help #askstartonboot_help)
  635.         (default 0)
  636.     )
  637.     (
  638.         (startup "Poseidon"
  639.             (prompt #addstartup)
  640.             (help #askstartonboot_help)
  641.             (command "ENVARC:PsdStackloader")
  642.         )
  643.     )
  644. )
  645.  
  646. (complete 95)
  647.  
  648. (copyfiles
  649.     (prompt #copyinput)
  650.     (help #copyinput_help)
  651.     (source (cat #instdatadir "Devs/input.device"))
  652.     (dest "DEVS:")
  653. )
  654.  
  655. (if
  656.     (and
  657.         (= 5
  658.             (run "Search S:Startup-Sequence PATTERN input.device QUIET QUICK"
  659.                 (safe)
  660.             )
  661.         )
  662.         (and
  663.             (exists "C:PsdLoadModule")
  664.             (exists "DEVS:input.device")
  665.         )
  666.     )
  667.     (
  668.         (run "Echo >T:NewStartup \"PsdLoadModule DEVS:input.device QUIET ;Added by Poseidon-Installer\""
  669.             (safe)
  670.         )
  671.         (run "Type >>T:NewStartup S:Startup-Sequence"
  672.             (safe)
  673.         )
  674.         (copyfiles
  675.             (prompt #addinputload)
  676.             (help #copyinput_help)
  677.             (source "T:NewStartup")
  678.             (dest "S:")
  679.             (newname "S:Startup-Sequence")
  680.             (confirm "average")
  681.         )
  682.         (delete "T:NewStartup" (safe))
  683.         (run "C:PsdLoadModule DEVS:input.device QUIET")
  684.     )
  685. )
  686.  
  687. (complete 100)
  688.  
  689. (message #extro)
  690.  
  691. (if #cleanupinst
  692.     (
  693.         (run
  694.              (cat "Delete " #instdatadir " ALL QUIET FORCE")
  695.         )
  696.     )
  697. )
  698.  
  699. ;--------------------------------------------------------------------------
  700. ; Installation successful!
  701. ;--------------------------------------------------------------------------
  702.  
  703. (set @default-dest "all over the place")
  704. (exit)
  705.  
  706.